# 列表的创建
list1 = []
print(list1)  # []
print(type(list1))  # <class 'list'>

# 列表可以包含不同的数据类型
list2 = [1, 2, 3, True, False, 'hello']
print(list2)  # [1, 2, 3, True, False, 'hello']

# 类型转换 str -> list 其他类型无法转换
list3 = list('1234567890')
print(list3)  # ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

# 列表的索引
print(list3[5])

# 列表的切片
print(list3[2:6:2])

# 列表的加法和乘法
print(list2 + list3)
print(list2 * 3)

# 列表的成员运算
print('1' in list3)

# 列表的比较
print([2, 9, 8] > [5, 3, 1])  # 逐个元素比较，[2, 9, 8] > [5, 3, 1] -> True

# 内置函数
print(len(list3))  # 列表长度
print(max(list3))  # 最大值
print(min(list3))  # 最小值
del list3  # 删除列表
print(sum([1, 2, 3]))  # 列表求和，字符串不能求和
print('---------------')

# 列表的遍历
for i in list2:
    print(i)  # 1 2 3 True False hello

for i,j in enumerate(list2):
    print(i, j)  # 带索引的遍历

for i in range(len(list2)):
    print(i, list2[i])  # 索引和值同时遍历

# 列表的方法
print('在列表末尾添加元素：')
list2.append('new')  # 在列表末尾添加元素
print(list2)

print('添加列表：')
list2.extend([10, 11, 12])
print(list2)

print('添加元素到指定位置：')
list2.insert(2, 'new')
print(list2)

print('删除指定元素：')
list2.remove('new')
print(list2)

print('删除指定位置元素：')
list2.pop(2)
print(list2)

print('末尾添加元素：')
list2.append('new')
print(list2)

print('反转列表：')
list2.reverse()
print(list2)

print('清空列表：')
list2.clear()
print(list2)

# ...